﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Server.Service.Model;
using System.ServiceModel;

namespace Server.Service
{
    [ServiceContract(SessionMode=SessionMode.Required)]
    interface IPlanRouteService
    {
        // Login with email and password, return user
        [OperationContract(IsInitiating=true)]
        WCFUser Login(string email, string password);
        [OperationContract(IsInitiating = false)]
        ICollection<WCFStation> GetAllStations();
        [OperationContract(IsInitiating = false)]
        ICollection<WCFStation> PlanRoute(WCFStation start, WCFStation end, DateTime date, WCFCarModel carModel);
        [OperationContract(IsInitiating = false)]
        WCFReservation ConfirmRoute(WCFUser user, WCFCar car, ICollection<WCFStation> stations, DateTime date);
        [OperationContract(IsInitiating = false)]
        ICollection<WCFReservation> GetActiveReservationsByUserDate(WCFUser user, DateTime date);
        [OperationContract(IsInitiating = false)]
        WCFUser updateUser(WCFUser user);
    }
}
